﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KTX.Data
{
  public partial  class Phong : System.ComponentModel.IDataErrorInfo
    {
      public int SinhVienDangO
      {
          get
          {
              return this.HopDong.ToList().Where(p => p.NgayKetThucHD >= DateTime.Now).Count();
          }
      }
      

      public string ThongTin
      {
          get
          {
              return string.Format("{0} - ({1}, tầng {2})",this.TenPhong, this.DayNha.Ten, this.Tang);
          }
      }
        public string Error
        {
            get
            {
                if (this.EntityState == System.Data.EntityState.Added || this.EntityState == System.Data.EntityState.Modified)
                {
                    StringBuilder sb = new StringBuilder();

                    if (!String.IsNullOrWhiteSpace(this["TenPhong"]))
                        sb.AppendLine(this["TenPhong"]);

                    if (!String.IsNullOrWhiteSpace(this["GiamGia"]))
                        sb.AppendLine(this["GiamGia"]);

                    if (!String.IsNullOrWhiteSpace(this["MaNha"]))
                        sb.AppendLine(this["MaNha"]);

                    string errors = sb.ToString();
                    return !String.IsNullOrEmpty(errors) ? errors : String.Empty;
                }
                else
                {
                    return String.Empty;
                }
            }
        }

        public string this[string columnName]
        {
            get
            {
                if (this.EntityState == System.Data.EntityState.Added || this.EntityState == System.Data.EntityState.Modified)
                {
                    switch (columnName)
                    {
                        case "TenPhong":
                            return String.IsNullOrWhiteSpace(this.TenPhong) ? "Chưa nhập tên phòng!" : String.Empty;

                        case "MaNha":
                            return this.DayNha==null ? "Chưa nhập Dãy nhà!" : String.Empty;

                        case "DonGiaThang":
                            return (this.DonGiaThang < 0) ? "Đơn giá tháng chưa hợp lệ!" : String.Empty;
                        default:
                            return String.Empty;
                    }
                }
                else
                {
                    return String.Empty;
                }
            }
        }
    }
}
